package com.example.certificate.service;

import com.example.certificate.dto.InsDataTypeDto;
import com.example.certificate.dto.UpdateStatusDTO;
import com.example.certificate.dto.common.BasePageDataPageDto;
import com.example.certificate.dto.common.DelByIdDto;
import com.example.certificate.entity.DataType;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.certificate.entity.User;
import com.example.certificate.utils.ResultConstant;
import com.example.certificate.utils.ResultEntity;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author hao
 * @since 2022-03-08 11:01:39
 */
public interface DataTypeService extends IService<DataType> {

    /**
     * @Author Hao
     * @Description  新增类型
     * @Date 2022/3/8
     * @Param [dto]
     * @return com.example.certificate.utils.ResultEntity
     **/
    ResultEntity insertDataType(InsDataTypeDto dto);

    /**
     * @Author Hao
     * @Description  删除类型
     * @Date 2022/3/8
     * @Param [dto]
     * @return com.example.certificate.utils.ResultEntity
     **/
    ResultEntity delDataTypeById(DelByIdDto dto);

    /**
     * @Author Hao
     * @Description  修改状态
     * @Date 2022/3/8
     * @Param [dto]
     * @return com.example.certificate.utils.ResultEntity
     **/
    ResultEntity updateStatus(UpdateStatusDTO dto);

    /**
     * @Author Hao
     * @Description  分页多条件查询 数据类型
     * @Date 2022/3/8
     * @Param [dto]
     * @return com.example.certificate.utils.ResultEntity
     **/
    ResultEntity selDataTypePage(BasePageDataPageDto dto);
    
    /**
     * @Author Hao
     * @Description  引导页
     * @Date 2022/3/8
     * @Param []
     * @return com.example.certificate.utils.ResultEntity
     **/
    ResultEntity selDataTypeList();
}
